70c76d6b603ec7e7727ab112c4800f0d11a58a8a,source/jetbrains/mps/generator/GenerationSession.java,GenerationSession,generateModel_internal,#SModelDescriptor#Language#Set#,113

Before Change


    }

    // templates generator
    ITemplateGenerator generator = (ITemplateGenerator) currentGeneratorClass.getConstructor(GenerationSessionContext.class, IAdaptiveProgressMonitor.class).newInstance(context, myProgressMonitor);
    GenerationStatus status;
    try {
      SModel outputModel = generateModel(sourceModel, targetLanguage, generator);

After Change




    try {
      Constructor c = currentGeneratorClass.getConstructor(GenerationSessionContext.class, IAdaptiveProgressMonitor.class);
      generator = (ITemplateGenerator) c.newInstance(context, myProgressMonitor);
    } catch (NoSuchMethodException e) {
      //ok to skip
    }

    if (generator == null) {
      try {
        Constructor c = currentGeneratorClass.getConstructor(GenerationSessionContext.class, IAdaptiveProgressMonitor.class, IMessageHandler.class);
        generator = (ITemplateGenerator) c.newInstance(context, myProgressMonitor, myHandler);
      } catch (NoSuchMethodException e) {
        //ok to skip